2011-01-10 2 views
-2

Am begann gerade für die Arbeit in PERL Export von Excel-Tabellenblatt,Wie zu überprüfen, ist Excel-Plugin in PERL aktiviert

Vor Beginn möchte ich die Bestätigung, das heißt, ist Excel-Tabellenblatt realted Stecker aktiviert ist oder nicht,

Tipp einig einfache PERL-Syntax,

Dank

+5

PERL ist kein Akronym - Sie meinen Perl :) –

Antwort

2

wenn Sie ein Modul aus dem CPAN wie Excel::Writer::XLSX dann können Sie nur ein einfaches Skript verwenden, um zu testen, ob das Modul installiert ist, mit:

#!/usr/bin/perl 
use Excel::Writer::XLSX; 

Und dieses Skript ausführen. Sie werden eine Fehlermeldung über

Can't locate Excel/Writer/XLSX.pm in @INC 

, wenn das Modul nicht auf dem System installiert ist.

+2

Wenn das ist, was Sie wollen, dann brauchen Sie nicht einmal ein Skript. Wenn Sie in der Befehlszeile "perl -MExcel :: Writer :: XLSX" eingeben, erhalten Sie genau das, was Sie wollen. –

2

Wenn Sie mit "Excel-Plugin" ein CPAN-Modul meinen, dann ist die Lösung zu versuchen, es zu laden und zu sehen, was passiert. Wenn Sie den Ladeversuch in eine "eval" -Anweisung einschließen, stirbt Ihr Programm nicht, wenn es fehlschlägt.

Etwas wie folgt aus:

eval 'use Spreadsheet::ParseExcel'; 

my $have_module = ! [email protected]; 

Diese Methode ist ein wenig ungenau, wie ich bin auf der Suche nur zu sehen, wenn $ @ hat einen Wert gegeben worden. Für mehr Kontrolle, möchten Sie vielleicht den Inhalt von $ @ für spezifische Fehlermeldung überprüfen. Du suchst nach einem, der startet "Kann nicht finden ...".

+0

Wenn ich nur nach Erfolg suche, benutze ich gerne den Rückgabewert von eval direkt: 'my $ have_module = eval {require Spreadsheet :: ParseExcel};' dann müssen Sie sich nicht mit '$ @' oder einem seiner Edge Cases kümmern . –

0

Angenommen, Sie bedeuten:

Wie kann ich feststellen, ob ein Excel-Dokument von meinem Webserver zu einem Webbrowser in einem Browser-Plugin geöffnet (im Gegensatz zu werden in einer eigenständigen Anwendung gespeichert oder geöffnet)?

Dann können Sie nicht. Browser senden diese Informationen nicht an den Server, so dass kein serverseitiger Prozess (der in Perl oder anders geschrieben ist) erkennen kann.

0
perl -MExcel::Writer::XLSX -e "print 'ok'" 

Wenn es "ok" druckt dann bist du gut. Wenn Sie eine can't locate ... in @INC bekommen, dann müssen Sie es installieren.

Verwandte Themen