exec stockquote...getQuote 'SY'
####
create proc xp_echo @msg varchar(255) as external filename "examples.so"
exec xp_echo "this is a test"
####
create proc xp_perl @module varchar(128), @p1 varchar(255),
@p2 varchar(255), .... @p20 varchar(255), ...
as external file "xp_perl.so"
exec xp_perl "Sybase::ESP::FileDir", "/some/file/directory"
####
package Sybase::ESP::FileDir;
use Sybase::ESP;
sub handler {
my $esp = shift;
my ($dir) = $esp->params;
$esp->print("some string"); # same as T-SQL PRINT
$esp->error(25001, "some error"); # same as T-SQL RAISERROR
$esp->resultset([{ name => 'size', type => 'int' },
{ name => 'filename', type => 'char', size => 255} ]);
if(!opendir(DIR, $dir)) {
$esp->error(25001, "Can't open $dir: $!");
return -6;
}
while(my $file = readdir(DIR)) {
# ... get file size, etc.
$esp->datarow($size, $file);
}
closedir(DIR);
return 0;
}