[perl] javascript 호환되는 시간 계산, AutoRun script

1. javascript 호환 시간 계산

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtime;
my $date=sprintf("%04d-%02d-%02d",$year+1900,$mon+1,$mday);
#2016-04-22

2. Linux용 Autoscript

리눅스에서 간단한 프로그래밍을 할때 굳이 IDE를 안써도 되는 경우가 많다.

이게 스크립트 언어라면 사용하기 정말 쉬운데, 컴파일 언어면 정말 짜증이 난다.

따라서 이를 쉽게 컴파일 해주고 실행해주는 Perl 스크립트를 짜 보았다.

#!/usr/bin/perl
use strict;
use warnings;
use feature 'say';
my $exefile='exefile';
my $base='main';
my $file;
my $extension;
my $how2exec='';
if($^O=~/Win/){ #windows OS
  opendir DIR,".";
  my @dir=readdir DIR;
  foreach my $e(@dir){
    if($e=~/main\..+/){
      $file=$e;
      ($extension)=$file=~/.+\.(\w+)?$/;
      last;
    }
  }
  closedir DIR;
}else{  #linux OS
  ($file,$extension)=`ls`=~/($base\.(.*))/;
  $how2exec='./';
}
my %compile=(
    'c'=>"gcc -o $exefile -lm -std=c99",
    'cpp'=>"g++ -o $exefile -lm -std=c++11",
    'pas'=>"fpc -o$exefile $file"
);
my $in='< in' if(-f 'in');
my %execute=(
    'c'=>"$how2exec$exefile $in",
    'cpp'=>"$how2exec$exefile $in",
    'pas'=>"$how2exec$exefile $in",
    'pl'=>"perl $file $in"
);
my %remove=(
    'c'=>"rm $exefile",
    'cpp'=>"rm $exefile",
    'pas'=>"rm $exefile $base.o"
);
system $compile{$extension} if($compile{$extension});
print '=' for(1..80);
print "\n(auto runner) $file is run (Copyright (C) bom)\n";
print '=' for(1..80);
print "\n";
system $execute{$extension} if($execute{$extension});
system $remove{$extension} if($remove{$extension});