2012-01-22

Perl runs every shebang


Perl で Python スクリプトを実行してみる。

$ cat hellow.py
#!/usr/bin/python
print 'Hellow Python!'
$ perl hellow.py
Hellow Python!

何これ!? 何で動くの?

$ cat hellow2.py
#!/usr/bin/env python
print 'Hollow Python!'
$ perl hellow2.py
Hollow Python!

$ cat hellow.sh
#!/bin/bash
echo Hellow Bash!
$ perl hellow.sh
Hellow Bash!

どうやら Perl は shebang 行を理解して良きに計らってくれるらしい。今まで Perl 使ってて全く気付かなかった。Perl ってば何て気の利く子!

ということは、ファイル形式が分からないときは Perl で起動するのが一番確実ということか。となると次は当然「バイナリーファイルも!」と期待は膨らむが、残念ながら ELF 形式は起動できなかった。

何でこんなことに気付いたかというと、昔書いた Makefile 中に「perl foo.py」とかいうのを見つけたから。いっそエラーになってくれれば恥ずかしい思いをせずに済んだのに・・・。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。